package com.heima.wemedia.listen;

import com.heima.common.constants.message.NewsAutoScanConstants;
import com.heima.wemedia.service.WmNewsAutoScanService;
import lombok.extern.slf4j.Slf4j;
import org.checkerframework.checker.units.qual.C;
import org.springframework.amqp.rabbit.annotation.Queue;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
@Slf4j
public class WemediaNewsAutoListener {
    @Autowired
    private WmNewsAutoScanService wmNewsAutoScanService;

    /**
     * queues ===> 监听指定队列  但是不会自动创建队列
     * queuesToDeclare ===>  监听指定队列   如果队列不存在   会自动创建
     * bindings====>   监听指定队列   并且如果队列不存在  会自动创建    还好自动创建对应的交换机  和  路由key
     *
     * @param newId
     */
    @RabbitListener(queuesToDeclare = @Queue(NewsAutoScanConstants.WM_NEWS_AUTO_SCAN_QUEUE))
    // 消息序列化使用json序列化  如果只发一个integer的值  在接收时需要使用字符串
    public void handleAutoScanMsg(String newId) {
        log.info("接收到自动审核消息  监听队列:{}   消息id:{}", NewsAutoScanConstants.WM_NEWS_AUTO_SCAN_QUEUE,newId);
        wmNewsAutoScanService.autoScanWmNews(Integer.valueOf(newId));
    }
}
